<template>
  <div>
    <h1>请选择你要购买的书籍</h1>
    <ul>
      <li v-for="(item, ind) in arr" :key="ind">
        <h2>{{ item["name"] }}</h2>
        <button @click="buy(ind)">购买</button>
      </li>
    </ul>
    <table border="1" width="500" cellspacing="0">
      <tr>
        <th>序号</th>
        <th>书名</th>
        <th>单价</th>
        <th>数量</th>
        <th>合计</th>
      </tr>
      <tr v-for="(item, index) in arr" :key="index">
        <td>{{ index + 1 }}</td>
        <td>{{ item["name"] }}</td>
        <td>{{ item["price"] }}</td>
        <td>{{ item.count }}</td>
        <td>{{ item["price"] * item["count"] }}</td>
      </tr>
    </table>
    <p>总价格为: {{ allprice }} 元</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      arr: [
        { name: "水浒传", price: 107, count: 0 },
        { name: "西游记", price: 192, count: 0 },
        { name: "三国演义", price: 219, count: 0 },
        { name: "红楼梦", price: 178, count: 0 },
      ],
    };
  },
  methods: {
    buy(index) {
      this.arr[index]["count"]++;
    },
  },
  computed: {
    allprice() {
      return this.arr.reduce((sum, obj) => {
        return (sum += obj["price"] * obj["count"]);
      }, 0);
    },
  },
};
</script>

<style scoped>
button {
  width: 60px;
  height: 30px;
  font-size: 16px;
}
tr,
td {
  text-align: center;
}
</style>
